#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
import eel

# logic_str = '{trend(1)} > {MA10(1)}      and           {open(1)} > {close}  and'

eel.init('web')


@eel.expose
def test(logic_str):
    r = re.compile(r'\s*and\s*')
    logic_str = r.sub('  <span class=\"highlight\">且</span>  ', logic_str)
    # logic_str = logic_str.replace('and', "  且  ")

    r = re.compile(r'\s*>\s*')
    logic_str = r.sub(' > ', logic_str)
    # logic_str = logic_str.replace('and', "  且  ")

    # 开盘价
    logic_str = logic_str.replace('{open}', '当天开盘价')
    logic_str = logic_str.replace('{open()}', '当天开盘价')
    logic_str = logic_str.replace('{open(0)}', '当天开盘价')
    r = re.compile(r'{open\((.*?)\)}')
    arr = re.findall(r, logic_str)
    # item : 括号里的内容 arr: 数组（可能有多个{open()}）
    for item in arr:
        logic_str = r.sub(item + '天前开盘价', logic_str, count=1)

    # 收盘价
    logic_str = logic_str.replace('{close}', '当天收盘价')
    logic_str = logic_str.replace('{close()}', '当天收盘价')
    logic_str = logic_str.replace('{close(0)}', '当天收盘价')
    r = re.compile(r'{close\((.*?)\)}')
    arr = re.findall(r, logic_str)
    # item : 括号里的内容 arr: 数组（可能有多个{open()}）
    for item in arr:
        logic_str = r.sub(item + '天前收盘价', logic_str, count=1)

    # 5日均线
    logic_str = logic_str.replace('{MA5}', '当天5日均线')
    logic_str = logic_str.replace('{MA5()}', '当天5日均线')
    logic_str = logic_str.replace('{MA5(0)}', '当天5日均线')
    r = re.compile(r'{MA5\((.*?)\)}')
    arr = re.findall(r, logic_str)
    # item : 括号里的内容 arr: 数组（可能有多个{open()}）
    for item in arr:
        logic_str = r.sub(item + '天前5日均线', logic_str, count=1)

    # 10日均线
    logic_str = logic_str.replace('{MA10}', '当天10日均线')
    logic_str = logic_str.replace('{MA10()}', '当天10日均线')
    logic_str = logic_str.replace('{MA10(0)}', '当天10日均线')
    r = re.compile(r'{MA10\((.*?)\)}')
    arr = re.findall(r, logic_str)
    # item : 括号里的内容 arr: 数组（可能有多个{open()}）
    for item in arr:
        logic_str = r.sub(item + '天前10日均线', logic_str, count=1)

    # 20日均线
    logic_str = logic_str.replace('{MA20}', '当天20日均线')
    logic_str = logic_str.replace('{MA20()}', '当天20日均线')
    logic_str = logic_str.replace('{MA20(0)}', '当天20日均线')
    r = re.compile(r'{MA20\((.*?)\)}')
    arr = re.findall(r, logic_str)
    # item : 括号里的内容 arr: 数组（可能有多个{open()}）
    for item in arr:
        logic_str = r.sub(item + '天前20日均线', logic_str, count=1)

    # 30日均线
    logic_str = logic_str.replace('{MA30}', '当天30日均线')
    logic_str = logic_str.replace('{MA30()}', '当天30日均线')
    logic_str = logic_str.replace('{MA30(0)}', '当天30日均线')
    r = re.compile(r'{MA30\((.*?)\)}')
    arr = re.findall(r, logic_str)
    # item : 括号里的内容 arr: 数组（可能有多个{open()}）
    for item in arr:
        logic_str = r.sub(item + '天前30日均线', logic_str, count=1)

    # 前几天趋势
    logic_str = logic_str.replace('{trend}', '当天趋势')
    logic_str = logic_str.replace('{trend()}', '当天趋势')
    logic_str = logic_str.replace('{trend(0)}', '当天趋势')
    r = re.compile(r'{trend\((.*?)\)}')
    arr = re.findall(r, logic_str)
    # item : 括号里的内容 arr: 数组（可能有多个{open()}）
    for item in arr:
        logic_str = r.sub('前' + item + '天趋势', logic_str, count=1)
    print(logic_str)
    return_json = {}
    return_json["data"] = logic_str
    # return return_json
    return logic_str

eel.start('test.html', mode='chrome-app', port=10001, cmdline_args=['--start-fullscreen', '--browser-startup-dialog'],
          suppress_error=True)

input('Press Enter to exit...')
